home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / include / acpi / acconfig.h next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  7.5 KB  |  218 lines

  1. /******************************************************************************
  2.  *
  3.  * Name: acconfig.h - Global configuration constants
  4.  *
  5.  *****************************************************************************/
  6.  
  7. /*
  8.  * Copyright (C) 2000 - 2008, Intel Corp.
  9.  * All rights reserved.
  10.  *
  11.  * Redistribution and use in source and binary forms, with or without
  12.  * modification, are permitted provided that the following conditions
  13.  * are met:
  14.  * 1. Redistributions of source code must retain the above copyright
  15.  *    notice, this list of conditions, and the following disclaimer,
  16.  *    without modification.
  17.  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
  18.  *    substantially similar to the "NO WARRANTY" disclaimer below
  19.  *    ("Disclaimer") and any redistribution must be conditioned upon
  20.  *    including a substantially similar Disclaimer requirement for further
  21.  *    binary redistribution.
  22.  * 3. Neither the names of the above-listed copyright holders nor the names
  23.  *    of any contributors may be used to endorse or promote products derived
  24.  *    from this software without specific prior written permission.
  25.  *
  26.  * Alternatively, this software may be distributed under the terms of the
  27.  * GNU General Public License ("GPL") version 2 as published by the Free
  28.  * Software Foundation.
  29.  *
  30.  * NO WARRANTY
  31.  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  32.  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  33.  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
  34.  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  35.  * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  36.  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  37.  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  38.  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
  39.  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
  40.  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  41.  * POSSIBILITY OF SUCH DAMAGES.
  42.  */
  43.  
  44. #ifndef _ACCONFIG_H
  45. #define _ACCONFIG_H
  46.  
  47. /******************************************************************************
  48.  *
  49.  * Configuration options
  50.  *
  51.  *****************************************************************************/
  52.  
  53. /*
  54.  * ACPI_DEBUG_OUTPUT    - This switch enables all the debug facilities of the
  55.  *                        ACPI subsystem.  This includes the DEBUG_PRINT output
  56.  *                        statements.  When disabled, all DEBUG_PRINT
  57.  *                        statements are compiled out.
  58.  *
  59.  * ACPI_APPLICATION     - Use this switch if the subsystem is going to be run
  60.  *                        at the application level.
  61.  *
  62.  */
  63.  
  64. /* Current ACPICA subsystem version in YYYYMMDD format */
  65.  
  66. #define ACPI_CA_VERSION                 0x20080926
  67.  
  68. /*
  69.  * OS name, used for the _OS object.  The _OS object is essentially obsolete,
  70.  * but there is a large base of ASL/AML code in existing machines that check
  71.  * for the string below.  The use of this string usually guarantees that
  72.  * the ASL will execute down the most tested code path.  Also, there is some
  73.  * code that will not execute the _OSI method unless _OS matches the string
  74.  * below.  Therefore, change this string at your own risk.
  75.  */
  76. #define ACPI_OS_NAME                    "Microsoft Windows NT"
  77.  
  78. /* Maximum objects in the various object caches */
  79.  
  80. #define ACPI_MAX_STATE_CACHE_DEPTH      96    /* State objects */
  81. #define ACPI_MAX_PARSE_CACHE_DEPTH      96    /* Parse tree objects */
  82. #define ACPI_MAX_EXTPARSE_CACHE_DEPTH   96    /* Parse tree objects */
  83. #define ACPI_MAX_OBJECT_CACHE_DEPTH     96    /* Interpreter operand objects */
  84. #define ACPI_MAX_NAMESPACE_CACHE_DEPTH  96    /* Namespace objects */
  85.  
  86. /*
  87.  * Should the subsystem abort the loading of an ACPI table if the
  88.  * table checksum is incorrect?
  89.  */
  90. #define ACPI_CHECKSUM_ABORT             FALSE
  91.  
  92. /******************************************************************************
  93.  *
  94.  * Subsystem Constants
  95.  *
  96.  *****************************************************************************/
  97.  
  98. /* Version of ACPI supported */
  99.  
  100. #define ACPI_CA_SUPPORT_LEVEL           3
  101.  
  102. /* Maximum count for a semaphore object */
  103.  
  104. #define ACPI_MAX_SEMAPHORE_COUNT        256
  105.  
  106. /* Maximum object reference count (detects object deletion issues) */
  107.  
  108. #define ACPI_MAX_REFERENCE_COUNT        0x1000
  109.  
  110. /* Size of cached memory mapping for system memory operation region */
  111.  
  112. #define ACPI_SYSMEM_REGION_WINDOW_SIZE  4096
  113.  
  114. /* owner_id tracking. 8 entries allows for 255 owner_ids */
  115.  
  116. #define ACPI_NUM_OWNERID_MASKS          8
  117.  
  118. /* Size of the root table array is increased by this increment */
  119.  
  120. #define ACPI_ROOT_TABLE_SIZE_INCREMENT  4
  121.  
  122. /******************************************************************************
  123.  *
  124.  * ACPI Specification constants (Do not change unless the specification changes)
  125.  *
  126.  *****************************************************************************/
  127.  
  128. /* Number of distinct GPE register blocks and register width */
  129.  
  130. #define ACPI_MAX_GPE_BLOCKS             2
  131. #define ACPI_GPE_REGISTER_WIDTH         8
  132.  
  133. /* Method info (in WALK_STATE), containing local variables and argumetns */
  134.  
  135. #define ACPI_METHOD_NUM_LOCALS          8
  136. #define ACPI_METHOD_MAX_LOCAL           7
  137.  
  138. #define ACPI_METHOD_NUM_ARGS            7
  139. #define ACPI_METHOD_MAX_ARG             6
  140.  
  141. /* Length of _HID, _UID, _CID, and UUID values */
  142.  
  143. #define ACPI_DEVICE_ID_LENGTH           0x09
  144. #define ACPI_MAX_CID_LENGTH             48
  145. #define ACPI_UUID_LENGTH                16
  146.  
  147. /*
  148.  * Operand Stack (in WALK_STATE), Must be large enough to contain METHOD_MAX_ARG
  149.  */
  150. #define ACPI_OBJ_NUM_OPERANDS           8
  151. #define ACPI_OBJ_MAX_OPERAND            7
  152.  
  153. /* Number of elements in the Result Stack frame, can be an arbitrary value */
  154.  
  155. #define ACPI_RESULTS_FRAME_OBJ_NUM      8
  156.  
  157. /*
  158.  * Maximal number of elements the Result Stack can contain,
  159.  * it may be an arbitray value not exceeding the types of
  160.  * result_size and result_count (now u8).
  161.  */
  162. #define ACPI_RESULTS_OBJ_NUM_MAX        255
  163.  
  164. /* Names within the namespace are 4 bytes long */
  165.  
  166. #define ACPI_NAME_SIZE                  4
  167. #define ACPI_PATH_SEGMENT_LENGTH        5    /* 4 chars for name + 1 char for separator */
  168. #define ACPI_PATH_SEPARATOR             '.'
  169.  
  170. /* Sizes for ACPI table headers */
  171.  
  172. #define ACPI_OEM_ID_SIZE                6
  173. #define ACPI_OEM_TABLE_ID_SIZE          8
  174.  
  175. /* Constants used in searching for the RSDP in low memory */
  176.  
  177. #define ACPI_EBDA_PTR_LOCATION          0x0000040E    /* Physical Address */
  178. #define ACPI_EBDA_PTR_LENGTH            2
  179. #define ACPI_EBDA_WINDOW_SIZE           1024
  180. #define ACPI_HI_RSDP_WINDOW_BASE        0x000E0000    /* Physical Address */
  181. #define ACPI_HI_RSDP_WINDOW_SIZE        0x00020000
  182. #define ACPI_RSDP_SCAN_STEP             16
  183.  
  184. /* Operation regions */
  185.  
  186. #define ACPI_NUM_PREDEFINED_REGIONS     8
  187. #define ACPI_USER_REGION_BEGIN          0x80
  188.  
  189. /* Maximum space_ids for Operation Regions */
  190.  
  191. #define ACPI_MAX_ADDRESS_SPACE          255
  192.  
  193. /* Array sizes.  Used for range checking also */
  194.  
  195. #define ACPI_MAX_MATCH_OPCODE           5
  196.  
  197. /* RSDP checksums */
  198.  
  199. #define ACPI_RSDP_CHECKSUM_LENGTH       20
  200. #define ACPI_RSDP_XCHECKSUM_LENGTH      36
  201.  
  202. /* SMBus bidirectional buffer size */
  203.  
  204. #define ACPI_SMBUS_BUFFER_SIZE          34
  205.  
  206. /******************************************************************************
  207.  *
  208.  * ACPI AML Debugger
  209.  *
  210.  *****************************************************************************/
  211.  
  212. #define ACPI_DEBUGGER_MAX_ARGS          8    /* Must be max method args + 1 */
  213.  
  214. #define ACPI_DEBUGGER_COMMAND_PROMPT    '-'
  215. #define ACPI_DEBUGGER_EXECUTE_PROMPT    '%'
  216.  
  217. #endif                /* _ACCONFIG_H */
  218.